/**
 * 初始化top30城市地图
 */
define( ['echarts','echarts/chart/map'],function(ec,map){
var myChart = ec.init(document.getElementById('heatCity'));// 加载 这个 地图
var ecConfig = require('echarts/config');
var zrEvent = require('zrender/tool/event');
var curIndx = 0;
var mapType = [
    'china',
    // 23个省
    '广东', '青海', '四川', '海南省', '陕西', 
    '甘肃', '云南', '湖南', '湖北', '黑龙江',
    '贵州', '山东', '江西', '河南', '河北',
    '山西', '安徽', '福建', '浙江', '江苏', 
    '吉林省', '辽宁', '台湾',
    // 5个自治区
    '新疆', '广西', '宁夏', '内蒙古', '西藏', 
    // 4个直辖市
    '北京', '天津', '上海', '重庆',
    // 2个特别行政区
    '香港', '澳门'
];

// document.getElementById('heatCity').onmousewheel = function (e){
//     var event = e || window.event;
//     curIndx += zrEvent.getDelta(event) > 0 ? (-1) : 1;
//     if (curIndx < 0) {
//         curIndx = mapType.length - 1;
//     }
//     var mt = mapType[curIndx % mapType.length];
//     option.series[0].mapType = mt;
//     myChart.setOption(option, true);
//     zrEvent.stop(event);
// };

option = {
    title: {
        text : '全国34个省市自治区UV热力图',
        subtext : '（滚轮或点击切换）',
         x:'left'
    },
    tooltip : {
        trigger: 'item',
        formatter: '{b}<br/>UV:{c}'
    },
    toolbox: {
        show: true,
        orient : 'vertical',
        x: 'right',
        y: 'center',
        feature : {
            mark : {show: false},
            dataView : {show: false, readOnly: true},
            restore : {show: true},
            saveAsImage : {show: true}
        }
    },
    legend: {
        orient: 'vertical',
        x:'left',
        data:['省市UV热力图'],
        show: false
    },
    dataRange: {
        min: 0,
        // color:['#ff6600', '#339900'], 
        color: ['#ff3333', 'orange', 'yellow','lime','aqua'],
        text:['高','低'],          // 文本，默认为数值文本
        calculable:true
    },
    series : [
        {
            name: '省市UV热力图',
            type: 'map',
            mapType: 'china',
            roam: false,
            selectedMode : 'single',
            itemStyle: {
                normal: {
                    borderWidth:2,
                    borderColor:'lightgreen',
                    label: {
                        show: true
                    }
                },
                emphasis: {                 // 也是选中样式
                    borderWidth:2,
                    borderColor:'#fff',
                    color: '#B9B9B9',
                    label: {
                        show: true,
                        textStyle: {
                            color: '#fff'
                        }
                    }
                }
            },
            data:[]
        }
    ]
};                                 
 
var maxDataRange={total:2000000,zhaopin:1100000,huangye:170000,fangchan:350000,ershou:300000,ershouche:300000};
var platRate={all:1,pc:0.3,m:0.45,app:0.15};
var curMaxValue = 2000000;
myChart.on(ecConfig.EVENT.MAP_SELECTED, function (param){
    var len = mapType.length;
    var mt = mapType[curIndx % len];
    var selected = param.selected;
    if (mt == 'china') {
        // 全国选择时指定到选中的省份
        for (var i in selected) {
            if (selected[i]) {
                mt = i;
                while (len--) {
                    if (mapType[len] == mt) {
                        curIndx = len;
                    }
                }
                
                break;
            }
        }
    }
    else {
        curIndx = 0;
        mt = 'china';
    }

    if(mt=='重庆'||mt=='北京'||mt=='上海'||mt=='天津'){
            mt='china';
            curIndx = 0;
    }else{
        var mapSeries=option.series[0];
        for (var p=0,len=mapSeries.data.length; p<len; p++) {
            var name = mapSeries.data[p].name;
            var curValue = mapSeries.data[p].value;
            if (selected[name]) {
                if(mt == 'china'){
                    option.dataRange.max=curMaxValue;
                }
                else{
                    option.dataRange.max=parseInt(curValue/500)*100;
                }
                break;
            }
         }
    }

    option.series[0].mapType = mt;
    myChart.setOption(option, true);
});

    /**
     * 根据指标显示日数据
     * @param index
     */
    function show(businessName){
        var searchDate = $('#stat_date').val();
        var platform = $('#platform').val();
        //每个业务线给定最大值， 再乘以各个平台的占比得到相应的dataRange最大值。
        curMaxValue = maxDataRange[businessName]*platRate[platform];
        option.dataRange.max=curMaxValue;

        myChart.showLoading({
            text: '正在努力的读取数据中...'
        });

        $.ajax({
                url: '/dashboard/netflow/ajax/heatCityUV',
                type: 'post',
                async: true,
                data:{"stat_date":searchDate,"platform":platform,"businessName":businessName},
                dataType: 'json',
                success: function(data, textStatus) {
                        option.series[0].data = data;

                        //myChart.clear();
                        myChart.setOption(option,{notMerge:true});
                        myChart.hideLoading();
                },
                error : function() {
                    myChart.hideLoading();
                }
        });
    }
    var obj={
        echart:myChart,
        'show':show
    };
    return obj;

});

